FIG. 1 illustrates a schematic configuration of a communication system for managing a buffer in a general manner.
Referring to FIG. 1, a communication system includes a User Equipment (UE) 100, a Node B 105, a gateway (GW) node 110, and the Internet 115. For example, if the communication system is an Evolved Packet System (EPS) or the next-generation wireless communication system, the Node B 105 may correspond to an Evolved Node B (eNB), and the GW node 110 may correspond to an Evolved Packet Core (EPC). Unlike the cellular systems based on the circuit-switched model, the EPS system is aimed to provide packet-switched services. The EPS system offers a transfer rate of 100 Mbps or move for high-speed downlink transmission, and a transfer rate of up to several tens of Mbps for uplink transmission.
A wireless section in the EPS system, i.e., a link between the UE 100 and the Node B 105 is subject to frequent and significant change in transfer rate between its maximum value and minimum value according to the channel state that depends on mobility of the UE 100, signal strength, and interference effects. Degradation of the channel state increases a packet loss due to an overflow of a buffer in the Node B 105, degrading the application performance.
To prevent the buffer overflow, a framework of managing a buffer in the Node B 105 and controlling an overflow between the Node B 105 and the GW node 110 is often required. In a general framework, the Node B 105 periodically monitors a queue length of its buffer, and compares the monitored queue length with each of an upper bound and a lower bound, which make a predetermined threshold for a queue length. If the monitored queue length is greater than or equal to the upper bound as a result of the comparison, the Node B 105 sends an ON message indicating an occurrence of an overflow in its buffer to the GW node 110. In contrast, if the monitored queue length is less than or equal to the lower bound, the Node B 105 sends an OFF message indicating non-occurrence of an overflow in its buffer to the GW node 110. In response to the ON/OFF message received from the Node B 105, the GW node 110 adjusts the amount of traffic transmitted to the Node B 105. That is, the GW node 110 stops the traffic transmission to the Node B 105 or resumes the stopped traffic transmission to the Node B 105. The general framework performed in the above manner brings the minimum-flow control effects without significantly increasing the computational overhead of the Node B.
Generally, input traffic to a buffer in a Node B is controlled based on a fixed threshold of a queue length, which is predetermined to detect a network congestion state. The threshold includes an upper bound and a lower bound, and the network congestion state indicates occurrence/non-occurrence of an overflow in the buffer. However, in the actual communication system, network flows and traffic states are dynamically changed, and characteristics thereof are unpredictable. Therefore, in the actual communication system, if the network congestion state is detected using only the fixed threshold as described above and flows are controlled according to the detection, the following problems may occur.
First, in a situation where characteristics of input and output traffic to/from a buffer in the Node B (for example, a transfer rate and distribution of the transfer rate) are unknown, it is difficult to determine an appropriate threshold for the queue length.
Second, because it is not possible to cope with every change in network flow and channel/traffic state on an occasional basis, an error may occur during detection of network congestion states, increasing the number of missing packets and causing an under-run phenomenon of a buffer, thereby resulting in degradation of throughput of the buffer. For example, if the upper bound is set to a value that is too low to cover the current traffic state in the buffer, a non-network congestion state may be detected as a network congestion state, bringing an unnecessary reduction in transfer rate. This will likely increase the occurrence of the under-run phenomenon in the buffer, reducing the throughput of the buffer. In contrast, if the upper bound is set to an excessively large value, a network congestion state maybe detected after actual occurrence of the network congestion state, making timely control of the flow impossible. This may cause an increase in packet loss and performance degradation of applications.